#pragma once

namespace dune3d {
enum class ToolID {
    NONE,
    DRAW_LINE_3D,
    DRAW_LINE_2D,
    DRAW_ARC_2D,
    DRAW_BEZIER_2D,
    DRAW_CIRCLE_2D,
    DRAW_WORKPLANE,
    DRAW_CONTOUR,
    DRAW_CONTOUR_FROM_POINT,
    DELETE,
    MOVE,
    CONSTRAIN_HORIZONTAL_AUTO,
    CONSTRAIN_VERTICAL_AUTO,
    CONSTRAIN_HORIZONTAL,
    CONSTRAIN_VERTICAL,
    CONSTRAIN_DISTANCE,
    CONSTRAIN_DISTANCE_HORIZONTAL,
    CONSTRAIN_DISTANCE_VERTICAL,
    CONSTRAIN_DISTANCE_ALIGNED,
    MEASURE_DISTANCE,
    MEASURE_DISTANCE_HORIZONTAL,
    MEASURE_DISTANCE_VERTICAL,
    MEASURE_DISTANCE_ALIGNED,
    CONSTRAIN_SAME_ORIENTATION,
    CONSTRAIN_WORKPLANE_NORMAL,
    CONSTRAIN_PARALLEL,
    CONSTRAIN_MIDPOINT,
    CONSTRAIN_EQUAL_LENGTH,
    CONSTRAIN_EQUAL_RADIUS,
    CONSTRAIN_RADIUS,
    CONSTRAIN_DIAMETER,
    MEASURE_RADIUS,
    MEASURE_DIAMETER,
    CONSTRAIN_PERPENDICULAR,
    CONSTRAIN_ANGLE,
    MEASURE_ANGLE,
    CONSTRAIN_POINT_IN_PLANE,
    CONSTRAIN_LOCK_ROTATION,
    CONSTRAIN_POINT_IN_WORKPLANE,
    ENTER_DATUM,
    ADD_ANCHOR,
    ADD_CLUSTER_ANCHOR,
    TOGGLE_CONSTRUCTION,
    SET_CONSTRUCTION,
    UNSET_CONSTRUCTION,
    IMPORT_STEP,
    SELECT_EDGES,
    SET_WORKPLANE,
    UNSET_WORKPLANE,
    DRAW_POINT_2D,
    ROTATE,
    DRAW_REGULAR_POLYGON,
    DRAW_RECTANGLE,
    MOVE_ANCHOR,
    FLIP_ARC,
    CONSTRAIN_SYMMETRIC_HORIZONTAL,
    CONSTRAIN_SYMMETRIC_VERTICAL,
    CONSTRAIN_SYMMETRIC_LINE,
    LINK_DOCUMENT,
    CONSTRAIN_BEZIER_BEZIER_TANGENT_SYMMETRIC,
    IMPORT_DXF,
    CREATE_CLUSTER,
    DRAW_TEXT,
    ENTER_TEXT,
    PASTE,
    CUT,
    CONSTRAIN_POINT_ON_POINT,
    CONSTRAIN_POINT_ON_LINE,
    CONSTRAIN_POINT_ON_CIRCLE,
    CONSTRAIN_POINT_ON_BEZIER,
    CONSTRAIN_POINT_LINE_DISTANCE,
    MEASURE_POINT_LINE_DISTANCE,
    CONSTRAIN_POINT_PLANE_DISTANCE,
    MEASURE_POINT_PLANE_DISTANCE,
    CONSTRAIN_ARC_LINE_TANGENT,
    CONSTRAIN_BEZIER_LINE_TANGENT,
    CONSTRAIN_CURVE_CURVE_TANGENT,
    CONSTRAIN_LINE_POINTS_PERPENDICULAR,
};
}
